C++ Qt : Check the current State of QStateMachine
全部标签Qt鼠标事件QMouseEvent类用来表示一个鼠标事件,在窗口部件中按下鼠标或者移动鼠标光标时,都会产生鼠标事件。利用QMouseEvent类可以获知鼠标是哪个键按下了,鼠标指针的当前位置等信息。通常是重定义部件的鼠标事件处理函数来进行一些自定义的操作。QWheelEvent类用来表示鼠标滚轮事件,主要用来获取滚轮移动的方向和距离。默认情况下,只有在按下鼠标按钮(不释放)时移动鼠标,才会产生鼠标移动事件,否则不会产生鼠标移动事件。除非使用QWidget::setMouseTracking()主动去开启鼠标跟踪,这时才会实时产生鼠标移动事件。当在窗口部件内按下鼠标按钮时,Qt将自动抓取鼠标。窗
目录一、下载ffmpeg:😄ffmpeg的组成:1.第一部分:是四个作用不同的工具软件2.第二部分:是可以供开发者使用的SDK,为各个不同平台编译完成的库文件3.第三部分:是整个工程的源代码无论是编译出来的可执行程序还是SDK,都是由这些源代码编译出来的二、在Qt中引入ffmpeg:1.第一步:将ffmpeg文件拷贝到qt工程目录下2.第二步:打开qtpro文件进行设置3.第三步:测试FFmpeg库是否能正常使用一、下载ffmpeg:1.官方下载链接:DownloadFFmpeg2.博主资源下载:FFmpeg相关库文件用于与FFmpeg相关内容的开发主要包括:记录、转换数字音频、视频,并能将其
目录一、下载ffmpeg:😄ffmpeg的组成:1.第一部分:是四个作用不同的工具软件2.第二部分:是可以供开发者使用的SDK,为各个不同平台编译完成的库文件3.第三部分:是整个工程的源代码无论是编译出来的可执行程序还是SDK,都是由这些源代码编译出来的二、在Qt中引入ffmpeg:1.第一步:将ffmpeg文件拷贝到qt工程目录下2.第二步:打开qtpro文件进行设置3.第三步:测试FFmpeg库是否能正常使用一、下载ffmpeg:1.官方下载链接:DownloadFFmpeg2.博主资源下载:FFmpeg相关库文件用于与FFmpeg相关内容的开发主要包括:记录、转换数字音频、视频,并能将其
1.问题的提出一般情况下,当去掉窗体标题栏时,按住鼠标左键就无法实现拖动窗体;当去掉窗体标题栏时,窗体四周的边框也去掉了,此时按住鼠标左键拖动窗体四周边沿,无法实现鼠标拖动改变窗体大小。如下为Qt实现去掉窗体标题栏的代码: setWindowFlag(Qt::FramelessWindowHint);//去掉标题栏现在的问题是:在去掉窗体标题栏的情况下,如何按住鼠标左键,实现鼠标拖动改变窗体大小?在去掉窗体标题栏的情况下,如何在窗体上按住鼠标左键,实现移动窗体?2.实现方法Qt中有个QSizeGrip类,可以很好解决1节提到的问题,关于该类的具体用法,参见QtAssistant。下面直接上代码
整体框架:屏幕录制、声音录制、音视频合成分别在不同的子线程中运行,由主程序控制录制的开始和结束。控制流程如下图所示:主线程:点击开始按钮à打开音频设备、视频设备、输出文件、启动子线程à发送开始录制信号;子线程:收到开始信号à开始录制;主线程:点击结束按钮à发送结束信号;子线程:接收到结束信号à发送结束信号;主线程:已经接收到了所有子线程发来的结束信号à处理结束事项并清理资源。主要代码:主线程:screenrecord.h/***录屏主控类*/#ifndefSCREENRECORD_H#defineSCREENRECORD_H/**QTheader**/#include#include#incl
整体框架:屏幕录制、声音录制、音视频合成分别在不同的子线程中运行,由主程序控制录制的开始和结束。控制流程如下图所示:主线程:点击开始按钮à打开音频设备、视频设备、输出文件、启动子线程à发送开始录制信号;子线程:收到开始信号à开始录制;主线程:点击结束按钮à发送结束信号;子线程:接收到结束信号à发送结束信号;主线程:已经接收到了所有子线程发来的结束信号à处理结束事项并清理资源。主要代码:主线程:screenrecord.h/***录屏主控类*/#ifndefSCREENRECORD_H#defineSCREENRECORD_H/**QTheader**/#include#include#incl
新建桌面应用程序testMouseEvent,类名MouseEvent,基类QMainWindow,通过重写鼠标事件达到跟踪鼠标位置的效果。添加2个标签做转态及位置更新用,重写鼠标事件:mouseevent.h#ifndefMOUSEEVENT_H#defineMOUSEEVENT_H#include#includenamespaceUi{classMouseEvent;}classMouseEvent:publicQMainWindow{Q_OBJECTpublic:explicitMouseEvent(QWidget*parent=nullptr);~MouseEvent();protec
文章目录一、QLCDNumber简介二、QLCDNumber属性示例获取系统时间示例代码提示:以下是本篇文章正文内容,下面案例可供参考一、QLCDNumber简介QLCDNumber控件用于显示一个LCD数字。它可以显示几乎任意大小的数字。可以显示十进制、十六进制、八进制或二进制数这些数字和其它符号可以显示:0/O、1、2、3、4、5/S、6、7、8、9/g、负号、小数点、A、B、C、D、E、F、h、H、L、o、P、r、u、U、Y、冒号、度数符号(字符串中被指定为单引号)和空格。QLCDNumber会将非法字符替代为空格获取QLCDNumber的内容是不可能的,虽然可以通过value()来获取
一、定时器第一种方式:1利用事件voidtimerEvent(QTimerEvent*ev)2启动定时器startTimer(1000)毫秒单位3timerEvent的返回值是定时器的唯一标示可以和ev->timerid做比较第二种方式:1利用定时器类QTimer2创建定时器对象QTimer*timer=newQTimer(this)3启动定时器timer->start(毫秒)4每隔一定毫秒,发送信号timeout,进行监听5暂停timer->stop.h文件#ifndefWIDGET_H#defineWIDGET_H#includenamespaceUi{classWidget;}class
系列文章目录第一章Qt中C++代码搭配UI文件实现交互界面文章目录一、关于Qt中的UI文件二、创建一个基本的Qt工程1.创建工程时,选择不生成ui文件2.工程内容3.构建并运行这个工程4.实现并添加UI文件三.使用这个新增的UI四.编译运行总结文章预告 前一段时间,被抽调到另一个测试项目,工作内容是,基于现有的一份Qt实现的工具代码,按照UI/UE设计做UI优化。做软件开发的同行都知道,我们最怕的是半路接手别人的项目代码,这些代码实际运行中可能很正常,但通常有一些毛病:没注释、命名不规范、逻辑混乱、没有设计文档等等。 看了这份工具的代码,我发现这个工作看起来不是那么容易。在